A memory system including a flash memory executes garbage collection. The garbage collection is a process in which valid data is collected from a first block in which invalid data is included and the collected valid data is rewritten into a second block.